﻿using InnoWeb.CEND.Core.Model.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace InnoWeb.CEND.Data.Infrastructure
{
    public interface IRepository<T> where T:class
    {
        T GetById(object id);

        IQueryable<T> GetAll();

        IQueryable<T> SearchFor(Expression<Func<T, bool>> predicate);

        IQueryable<T> SearchFor(params object[] keys);

        void Insert(T entity);

        void Update(T entity);

        void Delete(T entity);

        void Delete(int Id);

        //IUnitOfWork UnitOfWork { get; }
    }
}
